1. Technical Field
The present invention relates in general to the field of computer networks, and, in particular, to the connection between a user device and a content server. Still more particularly, the present invention relates to an improved method and system for controlling transcoding operations through the use of directives through a data formatting system using a directive script.
2. Description of the Related Art
The Internet is a worldwide decentralized network of computers having the ability to communicate with each other. The Internet has gained broad recognition as a viable medium for communicating and interacting across multiple networks. The World Wide Web (WWW) was created in the early 1990's and is comprised of server-hosting computers (web servers) in which HyperText documents (referred to as web pages) are typically stored. Web pages are accessible by client programs (e.g., web browsers) with the HyperText Transfer Protocol (HTTP) via a Transmission Control Protocol/Internet Protocol (TCP/IP) connection between the user's client device and a content web server. While HTTP documents are the prevalent forms for the web, the web itself refers to a wide range of protocols including Secure HyperText Transfer Protocol (S-HTTP), File Transfer Protocol (FTP), and content formats including plain text, eXtensible Markup Language (XML), as well as image formats such as the Graphics Interchange Format (GIF) and Joint Photographic Expert's Group (JPEG).
Web browsers typically provide a Graphical User Interface (GUI) for retrieving and viewing web pages, applications, and other resources hosted by Internet servers (web servers). As is known to those skilled in this art, a web page is conventionally formatted via a standard page description language such as HyperText Markup Language (HTML), which typically contains text and can reference graphics, sound, animation and video data. HTML provides for basic document formatting and allows a web content provider to specify anchors or HyperText links (typically manifested as highlighted text) to other web servers and files. When a user selects a particular HyperText link, a web browser reads and interprets an address call to a Uniform Resource Locator (URL) associated with the link, connects the web browser with a web server at that address, and makes a request (e.g., an HTTP request) for the file identified in the link. The web server then sends the requested file to the web client which the web browser interprets and displays to the user.
With the increasing mobility of today's society, the demand for mobile computing capabilities has also increased. Many workers and professionals are downsizing their laptop computers to smaller palmtop or handheld devices, such as Personal Digital Assistants (PDA's). In addition, many people are utilizing cellular telephones to access the Internet. Computing devices including, but not limited to, PDA's, cellular telephones, and like computing devices are often collectively referred to as “pervasive” computing devices. Typically, pervasive computing devices have displays that are small in size compared to desktop computer displays. As a result, content portions of a web page, such as images and text that are otherwise displayable on the desktop computer display, may not be displayable on a pervasive computing device display unless some modifications to the images and/or text (i.e., the content) are made. For example, a desktop computer display having array of 1,024 pixels by 768 pixels may be able to display a large (e.g., 2-megabit) 24-bit per pixel color image. A pervasive computing device with a smaller display having an array of only 120 pixels by 120 pixels, and with the ability to display only about 3-bits per pixel, may ignore much of the image data. As a result, the image may not be displayed properly, if at all, via the pervasive computing device display unless the displayed content is reduced. Text font and size within the web page may also need to be changed to permit the readable display on a pervasive computing device display. In addition, performance limitations of pervasive computing devices, such as memory, size and connection bandwidth, may also require changes to web page content for proper display.
Accordingly, it is necessary to have techniques that permit web page content to be modified and presented in custom tailored formats for one or more users on various types of pervasive computing devices. This modification is known as “transcoding,” and is performed by software engines known in the art as “transcoders.” As described above, transcoding may include removing or shrinking of images. Transcoding may also include the creation of summary pages of headings, or in some cases, conversions of HTML to dialects such as Compressed Markup Language (CML), Wireless Markup Language (WML), Handheld Device Markup Language (HDML) and iMode. Transcoding is also defined broadly as any transformation of web page content from one form to another, such as changing font size, display type (visual, aural, etc.), or even underlying descriptors such as user identification name, pathways, file descriptors, etc.
In the prior art, transcoders are set up to have a fixed transcoding scheme for a given device type. The problem with this mechanism is that different transcoders may be required to produce different results for each given user, as each given user may have his own specified options, such as font size, display color, inclusion or exclusion of graphics, etc. If these specifications are changed within the transcoder, the transcoder needs to be re-booted to include the updated specifications. Furthermore, if more than one transcoding machine is used to handled load balancing, more than one machine may need to be re-booted to include the updated specifications.
It should therefore be apparent that there exists a need for a method that will allow for distributed transcoding directives, unique for each given user, which may be applied to control different transcoders. Further, it would be desirable to devise a system, preferably including an intermediary proxy machine having the ability to control different transcoders using user-defined directives. In addition, it would also be desirable to devise a computer program product wherein such a method may be performed on a computer system.